home *** CD-ROM | disk | FTP | other *** search
- IF, AI, and the confabulating-arranger model of interactive fiction
- by Jorn Barger (jorn@mcs.com)
- September 26, 1994
-
- Abstract: One plausible design-paradigm for interactive fiction might
- be to supply IF authors with an extensive library of intelligent
- objects that 'know' how to interact realistically, including a rich
- model of human behavior. Doug Lenat's Cyc project is already
- attacking this task from a traditional AI perspective, but for IF this
- knowledge may be more simply collected in the form of *stories*-- in
- fact, a new mailinglist on the Internet is devoted to compiling such a
- story-library. If this library also tags all the *most interesting*
- possible plot-lines, the computer's task might be extended to
- "confabulating" the player's reality, on the fly, simultaneously
- arranging both past and future so as to open as many interesting
- plot-directions as possible.
-
-
- A couple of issues ago (IED 7.4), Chris Crawford discussed the basic
- known 'topologies' for interactive fiction (IF)-- each of which he
- showed to contain intractable fatal flaws. Basically, *interactivity*
- implies that the user is making choices, which implies that the story
- is branching into a tree-like topology. But Chris showed that
- storytrees must either be folded back on themselves in a very limiting
- way, or have most of their branches trimmed to (violent) dead-ends.
- If they don't, they'll necessarily expand exponentially... so
- consequently, within these design paradigms, even high-budget efforts
- are doomed to produce only simplistic and uninvolving games....
-
- The fantasy for the distant future, of course, is that the computer
- should offer an infinitely-various Virtual Reality, full of objects
- and characters whose behavior mimics 'real life' in great detail. In
- the ideal future, one should be able to step into the pages of a
- Dickens or Tolstoy novel and interact with its characters as freely as
- in 'real' life....
-
- But how do we get there from here What sorts of design strategies
- might make these new forms of IF possible?
-
- Certainly, one step in the right direction will be to teach computers
- the basic laws by which real objects interact, which is one of the
- traditional challenges of artificial intelligence (AI). In this
- article, I'll first explore the AI-world's leading contender for a
- truly intelligent program-- the Cyc project. Then I'll look at how
- Cyc's models overlap with those of traditional text-adventure games.
- I'll discuss a potentially-simpler strategy for compiling a 'Cyc' for
- IF, using a text format called a "meta-story", and offer some examples
- of how these can capture knowledge in an intuitive way. And finally
- I'll explore a new paradigm for IF-- the confabulating-arranger model.
-
-
- The Cyc project as a universal knowledgebase
-
- The last thirty years of academic AI research have produced very
- little that computer-game designers would find useful. The problems
- they've chosen to research have been too limited, and the programming
- structures they seem to favor are impossibly slow for realtime
- gameplay. So the world of gaming has pretty much had to invent its
- own styles of AI, as it's needed them.
-
- But for the last ten years, a highly ambitious (and surprisingly
- low-profile!) effort has been underway in Austin, Texas, to spell out
- the entire range of human commonsense knowledge. The goal of this Cyc
- (for enCYClopedia) project is a program that can read a newspaper, and
- 'understand' what it has read, well enough to detect violations of
- common sense, just as human readers can. But to the extent that it
- succeeds at *this*, it should be equally useful, at least in theory,
- for maintaining internal consistency in a virtual world....
-
- The Cyc team, led by Doug Lenat, has been trying to break down human
- understanding into thousands of subdomains that they call
- "micro-theories", like ailments, food-preparation, communication, and
- corporate behavior, and then trying to translate the basic 'rules' of
- each such domain into the language of symbolic logic. When they need
- to say, "If someone is asphyxiating, they cannot breathe," for
- example, they write:
-
- (LogImplication
- (LogAnd
- (allInstancesOf $AIL Asphyxiation)
- (bodilyInvolved $AIL $AGT))
- (holdsIn $AIL
- (LogNot (behaviorCapable $AGT Breathing bodilyInvolved))))
-
- where $AIL and $AGT are the variables for ailment and agent,
- LogAnd, LogNot, and LogImplication are simple logical connectives
- and "holdsIn" defines the context within which this 'axiom' holds.
-
- According to the Cyc model, if an adventure game needed to know
- what-happens-next at any particular point-- say, when a person drops a
- delicate vase-- it would send a query to Cyc and in a matter of
- seconds, Cyc should return with the news that vases dropped on hard
- surfaces usually *shatter*...
-
- Unfortunately, if you multiply that plausible retrieval-time times the
- thousands or hundreds of thousands of deductions that would be needed
- to keep an interactive fiction realistic from moment to moment, you're
- forced to the conclusion that Cyc just isn't going to be fast enough
- to support IF, anytime soon.
-
- Probably the worst problem here is that Cyc-- unlike *any* other
- largescale project in history-- didn't evolve by starting with a
- simpler version of the whole, and gradually filling in the
- less-important details. Rather, Cyc is being built by the much
- riskier strategy of accumulating detailed subsections, one by one,
- with *no known overall pattern*... and later streamlining it down to a
- "core knowledge base". To make that streamlined enough for IF may
- turn out to be the hardest challenge of all!
-
- So Cyc offers a good startingpoint for IF-theory, with regard to the
- knowledge it hopes to embody, but perhaps not so good a model with
- regard to the performance constraints of realtime IF. But we know for
- certain that some level of realtime IF is possible-- Zork and
- Hitchhiker's Guide (etc) have proven that! But is there a way to
- build an "IF engine" that includes something more like Cyc?
-
-
- Text-adventure development languages
-
- The enduring popularity of text adventures, especially the Infocom
- games of the early 1980s, has led a number of talented enthusiasts to
- create programming languages especially for text-adventure
- development. Many of these are available free on the Internet, where
- the newsgroup rec.arts.int-fiction supports a thriving subculture of
- text-adventure designers working in these formats. (The newsgroup has
- its archives at ftp.gmd.de in /if-archive/.)
-
- TADS (The Text-Adventure Development System) by Michael J. Roberts is
- probably the most popular environment, because games created in TADS
- can be run on almost every major hardware platform. TADS offers a
- modest range of predefined object-types that have at least a minimal
- level of intelligence about their own behavior. Containers and
- vehicles, for example, understand that objects placed within them will
- move with them, and will be invisible unless the container or vehicle
- is transparent. Characters automatically grow hungry if they don't
- eat, and even eventually die.
-
- TADS is object-oriented, with the objects themselves containing most
- of the code embodying such "story elements":
-
- class openable: container
- contentsReachable = { return( self.isopen ); }
- contentsVisible = { return( self.isopen ); }
- isopenable = true
- ldesc =
- { caps(); self.thedesc;
- if ( self.isopen )
- { " is open. ";
- pass ldesc;}
- else " is closed. "; }
- [etc]
-
- The TADS object-hierarchy is firmly grounded in story-telling pragmatics:
-
- Thing
- Item: vehicle, surface, lightsource, key, food, container, clothing
- FixedItem: switch, dial, button, decoration, actor, chair
- Room
-
- Cyc, by contrast, offers at the highest level the following, rather
- less pragmatic, partial object hierarchy:
-
- Thing
- Intangible
- IndividualObject
- Event
- Stuff
- Process
- SomethingExisting
- TangibleObject
-
-
- The Wisdom-FAQ mailinglist
-
- If a knowledgebase like TADS's could be gradually extended, ultimately
- even to the full extent targeted by Cyc, this would surely be a major
- step towards better IF. So with this in mind, a group of us from
- rec.arts.int-fiction (and elsewhere) have spun off a new mailinglist
- to investigate the possibility of building a sort of public-domain
- 'Cyc' for IF.
-
- The name for the mailinglist-- Wisdom FAQ-- is derived from the
- Internet tradition of Frequently-Asked-Questions files (FAQs), which
- try to condense, into the most accessible format possible, all the
- most *useful* information on any given topic. The "Wisdom FAQ" can be
- seen as a (rather grandiose!) image of a FAQ that tries to contain
- *all* the wisdom of the world, on every topic... starting, of course,
- with those truths most useful for interactive fiction. (To subscribe
- to the list, send me a request at wisdom-request@mcs.com. The
- accumulated archives can be ftp'd from ftp.mcs.com in
- mcsnet.users/jorn/wisdom/. If you need me to email them to you, let
- me know how many kilobytes your emailbox can handle at once.)
-
- The mailinglist is grappling simultaneously with the task of simply
- accumulating 'story elements' or axioms, and the more difficult task
- of agreeing on a standardized way of expressing them. Because the
- latter task is more technical and less interesting to many people, it
- will likely be spun off into a second list of its own sometime soon.
-
- The task of enumerating story-elements, though, is not so much a
- question of *technical* as of *storytelling* expertise. For this
- reason, the Wisdom-list eagerly welcomes non-technical contributors
- who nevertheless have a knack for spinning out plotlines, or a gift
- for clever plot twists...
-
-
- Every object tells a story... don't it?
-
- The obvious way to keep these collections of story-elements organized
- is according to which objects in the object-hierarchy they require.
- It's not *that* hard, for any object in a game (or in the world), to
- rattle off the basic rules of its behavior. One strategy for 'priming
- your pump' might be to ask:
-
- - Where does this object come from?
- - How does a person come into relationship with it?
- - How might the person use the object?
- - How might they change it?
- - How might they be changed by it?
- - How might their relationship with it end?
- - How might it cease to exist?
-
- One convenient format for compiling the answers to these questions
- might be called a "meta-story":
-
- The food meta-story: A person tended a garden or farm raising plants
- or animals to eat or sell. They harvested the food when the time was
- right and sold it or preserved it or prepared it and ate it or fed it
- to friends or family. If it was well-prepared, their hunger was
- satisfied and they were happy. The food travelled thru their
- intestines and had to be excreted. If they didn't get enough good
- food, they got thin and died. Maybe the person preparing the food put
- poison in it to injure the person who ate it. They might have to
- disguise the flavor of the poison. Maybe they prepared it poorly and
- it tasted bad.
-
- The bottle meta-story: A person heated up some sand in an oven and
- blew air into it with a straw until it became a bottle. When it
- cooled, they could pour liquids into it and put a cork or cap on it to
- keep the liquids from spilling or evaporating. They could also fill
- it by dipping it into a larger body of liquid. When they took the cork
- out they could pour out the liquids, or drink from the bottle. Two or
- more people could pass the bottle around and share the drink. If they
- dropped the bottle on something hard, it probably broke, and any
- liquid in it spilled out. The broken glass could cut a person when
- they touched it, if they weren't careful. It could make a car tire
- flat. If a barefoot person stepped on it they would get cut. The
- broken base might act like a lens to focus light and start a fire, or
- magnify something tiny. (The bottle with clear liquid in it might also
- be a lens.) The person could knock someone unconscious by breaking
- the bottle over their head. They could use the bottleneck to make
- their guitar play better. They could roll dough flat by using the
- bottle like a rollingpin. (etc)
-
-
- So one approach the Wisdom-list may use could be to accumulate a sort
- of 'children's encyclopedia' of these meta-stories, elaborating each
- of them to whatever level of detail our creativity allows.
-
- But simply enriching the supply of intelligent objects won't
- necessarily make the IF-author's job easier. For one thing, the more
- pre-existing behavior that's been supplied for the game's objects, the
- harder it will become for the author to anticipate every possible
- solution to the game's puzzles. In fact, the farther we move in this
- direction, the less attractive the whole idea of *puzzle-oriented IF*
- begins to seem...
-
-
- IF and 'psychology objects'
-
- Cyc has been circling closer and closer to the task of representing
- *human dramas*, and claims already to have a working model of emotions
- and motivations, but the Wisdom-list won't stand a chance if it
- doesn't directly confront the problem of encoding *literary* plots.
-
- The classic analysis of literary plots is George Polti's "Thirty-Six
- Dramatic Situations". Polti analysed a huge range of classic
- plotlines in literature, and declared these to be the basic ones:
- Supplication, Deliverance, Revenge, Vengeance by Family upon Family,
- Pursuit, Victim of Cruelty or Misfortune, Disaster, Revolt, Daring
- Enterprise, Abduction, Enigma, Obtaining, Familial Hatred, Familial
- Rivalry, Murderous Adultery, Madness, Fatal Imprudence, Involuntary
- Crimes of Love, Kinsman Kills Unrecognised Kinsman, Self Sacrifice for
- an Ideal, Self Sacrifice for Kindred, All Sacrificed for Passion,
- Sacrifice of Loved Ones, Rivalry Between Superior and Inferior,
- Adultery, Crimes of Love, Discovery of Dishonor of a Loved One,
- Obstacles to Love, An Enemy Loved, Ambition, Conflict with a God,
- Mistaken Jealousy, Faulty Judgement, Remorse, Recovery of a Lost One,
- Loss of Loved Ones
-
- Only a few of these will normally turn up in the course of applying
- the meta-story approach to story *objects*, because the most important
- 'objects' in literary plots tend to be *psychological* ones, like
- emotions and motivations.
-
- The meta-story approach can still work fine as a way of accumulating
- story-elements, though, even if you choose a totally arbitrary
- startingpoint (for example, hypnosis), so long as you're comfortable
- with the storytelling aspect of things:
-
- The 'hypnosis' meta-story: Once a person learned they could control
- others by hynosis. So they hynotized others into giving away their
- money and power and their health and their self-respect. And these
- people didn't even realize what had happened to them. Eventually
- things got so bad they were desperate to discover the source of their
- situation. Then one person got a glimpse of the truth, and then lost
- it, and then saw it again, and tried to tell others, and got dismissed
- as crazy, and attacked, but finally figured out how to lead others to
- see the truth, and they rose up together and overthrew their
- oppressors.
-
- The intuitive familiarity of the story-format allows almost any topic
- to be productively explored...
-
-
- Reverse-engineering emergent-behavior
-
- While the artificial-life theorists have been hoping to discover a few
- simple laws that will result in a vast payoff of interesting stories,
- via the principle of 'emergent behavior', the meta-story approach
- might be thought of as an attempt to outdo them by 'cheating'-- first
- you spell out the stories you want to see 'emerge', and only then do
- you analyse them and try to 'reverse engineer' the set of simpler laws
- that will produce them.
-
- So even something as simple as Maslow's hierarchy of needs
- (physiological, safety, belongingness and love, esteem, cognitive,
- aesthetic, and self-actualization needs), which might seem like a
- plausible startingpoint for a simple set of a-life laws, leading to
- emergent behavior, reveals some extremely inobvious patterns (at least
- from a mathematical point of view), when analysed for meta-stories:
-
- The physiological-needs meta-story: Every so often, a person gets a
- craving to consume food and drink. They usually arrange to have a
- source of these nearby, that they can rely on for purity. They may
- prepare the food and drink, cooking things, cutting them up, mixing
- them together, adding flavorings to make the experience pleasant. Or
- maybe they expect another person to do that for them. Usually, a
- group of people who live together will sit down together to eat, at a
- table with plates and silverware and glasses. Afterwards, someone
- must clean up. Sometimes they may eat at restaurants, or in a vehicle
- as they travel. They may carry a container of water to drink (perhaps
- flavored or mixed with nutrients or stimulants or intoxicants), or
- stop at a vending machine or drinking fountain or coffee machine. If
- a person's daily calories consumed don't equal their calories burned,
- they lose weight. If they consume more, they gain weight. If they
- lose too much weight, or fail to drink enough, they can die.
- Water-plus-wastes is excreted by urination,
- food-after-nutrient-absorption by defecation.
-
- The safety-needs meta-story: A person felt unsafe, and they didn't
- like it. Maybe there were other people or animals around,
- untrustworthy ones, and their home wasn't secure. Maybe they had to
- leave the safety of their home during the day, and risked being
- attacked. Maybe it was nature that threatened them, in the form of
- high cliffs, deep holes, quicksand, dangerous bodies of water, weather
- that's too cold, hot, or violent, etc. Maybe it was poorly maintained
- technology that was the danger. The person changed the environment or
- changed their behavior so that the danger was lessened and they felt
- safer.
-
- The belongingness-and-love-needs meta-story: A person felt lonely.
- They sought out others' company and acted charming so they would be
- welcome. Or they acted domineering so that others would be afraid to
- reject them. Or they acted hurt so that others pitied them.
-
- The esteem-needs meta-story: A person felt that no one respected or
- appreciated them. So they tried to do something admirable, and then
- made sure that others knew about it. Or maybe they lied about doing
- something admirable.
-
- The cognitive-needs meta-story: A person needed to know something, or
- was just curious. They sought out a book and read it, or a teacher
- and took a class or asked them questions. Or they just observed the
- thing they didn't understand, and thought deeply about it, maybe doing
- experiments. If they discovered something new they probably published
- their findings.
-
- The esthetic-needs meta-story: A person was oppressed by a boring or
- ugly environment, so they made or acquired or sought out objects that
- were pleasing to their senses. Maybe they recorded the process of
- creation, so that it could be reexperienced later, by others. Maybe
- they positioned these creations within their environment so they could
- experience them often. Maybe they grew bored with them after a time.
-
- The self-actualization-needs meta-story: A person had everything they
- needed, but didn't feel fulfilled. So they looked within themselves
- to discover what their heart wanted most, and followed their bliss...
-
-
- "SimNormal"
-
- Given the ambitious scope of the Wisdom list, there's a serious risk
- of getting bogged down in such a mass of story-content, that one loses
- any sense of a startingpoint, and so also any chance of actually
- building a working IF program!
-
- One way to keep these meta-stories somewhat 'grounded in reality' is
- to visualize them as being acted out on a computer screen, using even
- the fairly primitive existing standard for graphics adventures like
- King's Quest and its ilk. If your stories are too abstract for this
- technology, you probably haven't thought them through in enough
- detail!
-
- I like to imagine a sort of SimCity-like environment where a community
- of little NPC's go through their daily routines of life, in a
- completely rote fashion, *with no emergent behavior expected or
- desired*. (In honor of Normal, Illinois, I call this world
- "SimNormal".)
-
- Looking again at the belongingness-needs meta-story above, it's clear
- that before you can visualize it as a SimNormal animation, you have to
- break it down further, according to certain typical patterns of how
- these needs are satisfied:
-
- The casual-acquaintance meta-story: A person gets to know another by
- being introduced, or by introducing themselves, or by crossing paths
- occasionally. When they meet they exchange mild greetings and
- smalltalk about weather, news, gossip, entertainment they've seen. If
- nothing divisive turns up, they may gradually open up and trust each
- other more.
-
- The simplest way to encode this might be to give each person an
- intimacy-level toward each other one. *Zero* would mean total
- strangers, but each time they noticed a given person it might increase
- by one. When it reached five, say, they'd shift to
- casual-acquaintance mode, and greet each other. If they're
- introduced, on the other hand, they might reach five right away. As
- this number continues to grow, their greetings should become more
- extended in time, stopping to chat if they're not in a hurry. (There
- could be a *chatting animation* that's designed to be cycled
- continually, for whatever duration they've reached.) Discovering
- common interests may cause the intimacy-level to skyrocket.
- Discovering incompatibilities, or failing to see each other for a long
- time, can cause the intimacy-level to drop.
-
- The best-friend meta-story: A person gradually gets to know someone
- else, and enjoys spending time with them. (Or maybe it's a sudden
- strong connection.) They arrange to spend time together, do things
- together, maybe talk on the phone. They tell each other their private
- worries, and try to help each other. These exchanges make them feel
- better. Sometimes they fight, and reconcile or not. Maybe one of
- them gets an S.O. and that causes them to break apart. Maybe it just
- stops being so fun, and they drift apart.
-
- A person may maintain a 'short list' of those with the highest
- intimacy rating, and when they're bored or upset they'll look to these
- for support. A person-soothes-person2 story could be very simple--
- time is consumed and person2 feels better. (Person1 may or may not
- feel worse-- if they do, it bodes ill for the friendship!) There may
- be a certain potential for conflict at each point, which should depend
- on the sorts of personalities they are, and whether they're in
- competition for scarce resources.
-
- The pals meta-story: A person has one or more best friends, and that
- group grows larger as others are allowed to join their get-togethers.
- Maybe they're invited or maybe they just show up and tag along. If
- someone doesn't like them they may be driven off. Several times a
- week, at least, they arrange to meet together. Maybe there's a power
- struggle between two who both want to lead. Maybe one by one they
- drop out; maybe others take their places.
-
- The planning-logistics of getting a group of free-thinking individuals
- together are a lot more complex than for just two. Maybe any of them
- can invite the others-- there'll need to be be a 'get-together
- meta-story' to handle this.
-
- The housemates meta-story: A person moves into a living-place with one
- or more housemates, sharing common areas. Usually, the housemates
- play the role of friends to some degree, listening to each others'
- daily stories. Some housemates are neater than others, and this will
- lead to conflicts. When bills arrive, they sometimes have to be split
- up unevenly and this may cause tensions. One person is probably the
- most responsible, signing the checks, etc. Each probably has one or
- more annoying traits that *try* the patience of the others. Maybe one
- by one they move away, and are replaced by others, or maybe they all
- leave at once.
-
- The co-workers meta-story: A person gets a job at a workplace, with
- others. Some of these become friends, others maybe casual
- acquaintances. Some become enemies. Even when they fight, they still
- have to work together, or quit, or ask for a transfer. Their enemies
- may try to make them look bad to their bosses.
-
-
- The confabulating-arranger model of IF
-
- So if we continue to pursue these directions of research, what sorts
- of IF might become possible? How do you give the player an infinite
- world, and still keep enough control to involve them in especially
- interesting stories?
-
- If the computer 'knows' all the most interesting sorts of dramas in
- literature, one strategy could have it be continually, unobtrusively
- *revising* the virtual world behind the scenes, so as to open up as
- many interesting plotlines as possible.
-
- So the game might open with a person in their apartment, waking up in
- the morning, and if they go outdoors they may be presented with a
- series of neighbors whose dramas they can become involved in... but
- none of these dramas needs to have been worked out in detail
- beforehand. Rather, the computer will continually *improvise* new
- possibilities based on the player's choices, and the view of reality
- they've been allowed thus far. If the player chooses not to follow up
- any given opening, that's no problem... there will be many other
- options to explore.
-
- This way, the past is as *undetermined* as the future, and can be
- molded to any extent, limited only by what the player has already been
- shown and told. So the computer is *actively* arranging that new
- developments will be as interesting as possible-- "confabulating"
- reality, to use a psychiatric term.
-
- And in this, the "confabulating-arranger" model perhaps most closely
- resembles *the activity of the brain*, during *dreams*...!
-
-
- Bibliography
-
- Chris Crawford, "Flawed Methods for Interactive Storytelling" IED 7.4,
- April 1994.
- Douglas B. Lenat and R.V. Guha, "Building Large Knowledge-Based
- Systems" Addison-Wesley 1991.
- Michael J. Roberts, "TADS: The Text-Adventure Development System" Palo
- Alto, High-Energy Software, 1992.
- George Polti, "The Thirty-Six Dramatic Situations" Boston, The Writer,
- 1977 (originally published 1900).
-
- Some journal references for more on Cyc:
-
- "CYC" AI Magazine 7(1), 1986
- "When will machines learn?" Machine Learning, Dec 1989
- "Cyc: Toward Programs With Common Sense" CACM, Aug 1990
- "Knowledge and Natural Language Processing" CACM, Aug 1990
- "Common Sense and the Computer" Discover magazine, Aug 1990
- "Cyc: A Mid-Term Report" AI Magazine, Fall 1990
- "The commonsense reviews" Artificial Intelligence, 61(1), 1993
- "CYC-O" Wired magazine, Apr 1994
- "Enabling agents to work together" CACM, 37(7), 1994
-